The transmission of compressed images over noisy or error prone channels is a difficult problem, but one which is very relevant to a number of systems in use today. Errors may be injected into a transmitted bitstream in both wired and wireless environments. In the case of wired networks, there are a variety of unreliable transmission protocols which may result in lost packets of information at a decoder due to network congestion. Mobile wireless networks often exhibit Rayleigh fading or burst errors as a result of multipath propagation. These examples are relevant to the transmission of image data because a wide variety of multimedia applications have recently come into existence which require the delivery of image data over such error prone networks. Transmitting image data over the Internet using the User Datagram Protocol (UDP) is one example application which may result in erroneous data at the decoder in the presence of network congestion.
Currently, as is known in the art, the most popular standard for image compression for use in network based multimedia is JPEG (a standardized image compression mechanism developed by the Joint Photographic Experts Group). The JPEG standard is a block based Discrete Cosine Transform (DCT) standard, which transmits the spatial information in a frame in several different ways. The most common use of JPEG is in its baseline form, where the image data appears sequentially in blocks in raster scan order in the bitstream. When a baseline JPEG bitstream is subjected to errors, large spatial portions of the image will be lost. JPEG permits structuring entropy coded data into segments, so it is possible to recover other segments of an image, when errors are localized to a segment.
Another form of JPEG is the progressive mode. In this mode, image data appears not only sequentially in blocks in raster scan order, but also in scans of increasing frequency resolution and/or DCT coefficient accuracy. This mode allows for data to appear in low quality form first at a decoder, and then be decoded and displayed while higher resolution information is still being transmitted. Like the baseline mode, when a progressive JPEG bitstream is subjected to errors, the errors must be localized to predetermined segments in order to contain the propagation of errors to different spatial regions of the image, or to different resolution scans of the image.
The idea of progressive or scalable transmission of image data is a useful one, when considering the effects of errors on the bitstream. While the progressive mode of JPEG provides a piece-wise approximation of "scalability", it does not provide the flexibility that the wavelet transform does in the form of continuously scalable bitstreams. Such bitstreams are ones that may be decoded up to an arbitrary position in the bitstream, where the decoded image is always increasing in quality with subsequent decoded bits. When the data is transmitted in n inherently prioritized fashion, as is enabled by the wavelet transform, it is much easier to obtain useable images in the presence of errors. This is because any data appearing after an error may easily be concealed, or left undecoded, and an image will still appear to look like the expected image. One problem with the existing wavelet based image compression algorithms, however, is that the algorithms are not explicitly designed to be used in the presence of errors. Therefore, although the data may be partitioned in an error resilient manner, the decoder may not be able to localize and conceal the errors without new and enabling technology.
When errors are present in a compressed image bitstream, some means must exist for an image decoder to detect those errors, and to react accordingly in order to localize and conceal those errors before displaying the image. In a system where some residual errors are found at the application layer, it is crucial that the application (in this case a wavelet based image decoder) have the ability to control the effects of those errors.
The concept or detecting and localizing errors is coupled to the problem of detecting and decoding regions of interest in an image. An encoder may need to apply some specific rate control algorithms to an image such that an unequal amount of bits are spent on certain regions of interest in the image. If a decoder is to selectively decode those regions of interest based on demands of certain applications, that selective decoding must be enabled by technology which has the same properties that an error control localization method would have. Those properties would include the ability to detect the boundaries of regions of interest, and continue decoding in a forward direction based on special information found at those boundaries. Such technology does not exist in wavelet based image codecs today.
Thus, there is a need for a method and device for error control and region of interest localization of a wavelet based image compression system.